package com.chang.bootplus.vo;

import com.chang.bootplus.base.database.Page;
import com.chang.bootplus.entity.MatrixOrderDetails;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
@Accessors(chain = true)
public class OrderVO extends Page {

    @ApiModelProperty("订单编号")
    private String orderId;

    @ApiModelProperty("其他信息")
    private String message;

    @ApiModelProperty("商家是否发货")
    private Integer deliverStatus;

    @ApiModelProperty("是否被支付")
    private Integer payStatus;

    @ApiModelProperty("用户id")
    private Long userId;

    @ApiModelProperty("商家id")
    private Long busId;

    @ApiModelProperty("商品总价")
    private BigDecimal amount;

    @ApiModelProperty("支付时间")
    @JsonFormat(timezone = "GMT+8", shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime paytime;

    @ApiModelProperty("发货时间")
    @JsonFormat(timezone = "GMT+8", shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime delivertime;

    @ApiModelProperty("收货时间")
    @JsonFormat(timezone = "GMT+8", shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime receiveTime;

    @ApiModelProperty("是否收货 默认0为没收货")
    private Integer receiveStatus;

    @ApiModelProperty(value = "买家地址信息",required = true)
    private LocationVO userLocation;

    @ApiModelProperty(value = "卖家地址信息",required = true)
    private LocationVO busLocation;

    @ApiModelProperty("商品详情")
    private List<MatrixOrderDetails> detailsList;

}
